﻿using System;
using System.Collections.Generic;
using System.ComponentModel;
using Zadani09.db.DAO;

namespace Zadani09.db.ODS
{
    [DataObject(true)]
    public class UzivatelDataObject : DataObject
    {

        [DataObjectMethod(DataObjectMethodType.Select)]
        public List<Uzivatel> cti(string razeni)
        {
            List<Uzivatel> list = DAOTovarna.instance.getUzivatelDAO().loadList(0, 0);

            if (list == null) list = new List<Uzivatel>();

            //sortnuti
            return list;
        }

        [DataObjectMethod(DataObjectMethodType.Select)]
        public List<Uzivatel> cti_s_vyhledavanim(string razeni, string hledano, string atribut)
        {
            List<Uzivatel> list = cti(razeni);
            List<Uzivatel> vrat = new List<Uzivatel>();

            foreach (Uzivatel jeden in list)
            {
                if (najdi(hledano, jeden, atribut))
                {
                    vrat.Add(jeden);
                }
            }

            return (vrat);
        }

        [DataObjectMethod(DataObjectMethodType.Select)]
        public List<Uzivatel> ctiJednoho(int id)
        {
            List<Uzivatel> uzivatele = new List<Uzivatel>();

            Uzivatel u = DAOTovarna.instance.getUzivatelDAO().load(id.ToString());

            if (u != null) uzivatele.Add(u);

            return uzivatele;
        }

        [DataObjectMethod(DataObjectMethodType.Insert)]
        public void vloz(Uzivatel data)
        {
            data.PosledniZmenaHesla = DateTime.Now;
            DAOTovarna.instance.getUzivatelDAO().create(data);
        }

        [DataObjectMethod(DataObjectMethodType.Delete)]
        public void smaz(Uzivatel data)
        {
            DAOTovarna.instance.getUzivatelDAO().delete(data);
        }

        [DataObjectMethod(DataObjectMethodType.Update)]
        public void aktualizuj(Uzivatel data)
        {
            DAOTovarna.instance.getUzivatelDAO().update(data);
        }


    }
}
